<?php

if(!(isset($_SESSION))) session_start();

// Funcion siempre ejecutada que incluye todos los ficheros 'models' de nuestra aplicacion al crear un objeto de algun tipo
function __autoload($className) {
    list($suffix, $filename) = preg_split("/_/", strrev($className), 2);
    $filename = strrev($filename);
    $suffix = strrev($suffix);
    
    //print $className." / ".$filename." - ".$suffix."<br />";
    
    switch (strtolower($suffix)) {    
        case 'model':
            $folder = '/models/';
            break;
    
        case 'library':
            $folder = '/libraries/';
            break;
    
        case 'driver':
            $folder = '/libraries/drivers/';
            break;
        
        case "view":
            $folder = "/views/";
    }
  
    if($suffix == "Usuarios") $file = SERVER_ROOT.$folder."usuarios.php";
    else $file = SERVER_ROOT.$folder.strtolower($filename).".php";
    
    if (file_exists($file)) {
        include_once($file);		
    }
    else {
        die("Archivo de tipo '$filename' que contiene la class '$className' no encontrado.");	
    }
}

$request = $_SERVER["QUERY_STRING"];

$parsed = explode('&' , $request);

$pagereturn = array_shift($parsed);
//per defecte retornem la vista usuari
if(strlen($pagereturn) == 0 || ($pagereturn != "usuari" && $pagereturn != "calendari")) $pagereturn = "usuari";

$getVariables = array();
foreach ($parsed as $argument) {
    list($variable , $value) = preg_split('/=/' , $argument);
    $getVariables[$variable] = $value;
    //print $variable." - ". $getVariables[$variable]."<br>";
}

$target = SERVER_ROOT.'/controllers/'.$pagereturn.'.php';


if(file_exists($target)) {
    include_once($target);

    $class = ucfirst($pagereturn)."_Controller";

    if(class_exists($class)) {
        new $class($getVariables);
    }
    else {
        die("Class ".ucfirst($pagereturn)."_Controller no existente");
    }
}
else {
    
    die("Pagina no existente");
}

?>